package main

import "fmt"

type Point struct {
	X, Y int
}

type Circle struct {
	Center Point
	Radius int
}

type Wheel struct {
	Circle Circle
	Spokes int
}

type Circle1 struct {
	Point
	Radius int
}

type Wheel1 struct {
	Circle1
	Spokes int
}

func main() {
	wheel := Wheel{
		Circle: Circle{
			Center: Point{
				X: 10,
				Y: 20,
			},
			Radius: 20,
		},
		Spokes: 30,
	}

	fmt.Printf("%#v\n", wheel)
	fmt.Println()

	var c1 Circle1
	c1.X = 10
	c1.Y = 20
	c1.Radius = 50
	fmt.Println(c1)
	fmt.Println()

	var w2 Wheel1
	w2.Circle1 = c1
	w2.Spokes = 100
	fmt.Println(w2)

}
